package com.tyfspring.beans.factory;

import com.tyfspring.beans.config.BeanPostProcessor;
import com.tyfspring.core.convert.ConversionService;
import com.tyfspring.util.StringValueResolver;

/**
 * @Description 用于管理bean的接口
 * @Author shallow
 * @Date 2023/3/26 13:50
 */
public interface ConfigurableBeanFactory extends HierarchicalBeanFactory,SingletonBeanRegistry{

    /**
     * 添加bean后处理器
     * @param beanPostProcessor
     */
    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);

    /**
     * 销毁单例模式
     */
    void destroySingletons();



    void addEmbeddedValueResolver(StringValueResolver valueResolver);

    String resolveEmbeddedValue(String value);

    void setConversionService(ConversionService conversionService);

    ConversionService getConversionService();

}
